package Controller.UsuarioController;

import javax.swing.JOptionPane;

import DAO.UsuarioDAO;
import Entidade.Usuario;
import Model.UsuarioModel.UsuarioConsultaModel;
import View.UsuarioView.UsuarioView;
import framework.mvc.GenericController;

public class UsuarioConsultaController extends GenericController<Usuario> {
	public UsuarioConsultaController() {
		super(new UsuarioConsultaModel(), new UsuarioDAO());
	}

	public void novo() {
		UsuarioView usuarioview = new UsuarioView();
		usuarioview.abrir();
		view.atualizarView();
	}
	
	public void alterar() {
		view.atualizarModel();
		Usuario usuarioSelecionado = ((UsuarioConsultaModel) model)
				.getUsuarioSelecionado();
		if (usuarioSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Usuario que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			UsuarioView usuarioView = new UsuarioView();
			usuarioView.getModel().setEntidade(usuarioSelecionado);
			usuarioView.atualizarView();
			usuarioView.abrir();
			view.atualizarView();
		}
	}
	
	

	public void excluir() {
		view.atualizarModel();
		Usuario UsuarioSelecionado = ((UsuarioConsultaModel) model)
				.getUsuarioSelecionado();
		if (UsuarioSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o contato que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Usuario?") == JOptionPane.YES_OPTION) {
				getDao().excluir(UsuarioSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
